package com.dgt.trade.dao;

import com.dgt.trade.entitys.trade.Data;
import com.dgt.trade.entitys.trade.Product;
import com.dgt.trade.entitys.trade.Products;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.HashMap;
import java.util.List;


@Mapper
public interface TradeDao {

	/**
	 * 获得分时数据
	 * @param code 数据编号
	 * @return
	 */
	List<Data> getFsDataByCode(@Param("code")String code);

	/**
	 * 获得K线数据
	 * @param code 数据编号
	 * @param type k线类型
	 * @return
	 */
	String getKByCodeAndType(@Param("code")String code, @Param("type")Integer type);

	/**
	 * 获取产品列表
	 * @return
	 */
	List<Product> getProducts();

	/**
	 * 获取k线MA数据
	 * @param code
	 * @return
	 */
	HashMap<String,Object> getMaByCodeAndType(@Param("code")String code);

	/**
	 * 获取实时数据
	 * @param code
	 * @return
	 */
	HashMap<String,Object> getFreshDataByCodeAndType(@Param("code")String code);

	/**
	 * 产品列表自定义排序
	 * @param map
	 * @return
	 */
	HashMap<String,Object> getProductsOrderBy(HashMap<String,Object> map);


    /**
     * 产品实时更新
     * @param code
     * @param last_price
     * @param change_count
     * @return
     */
	int updatePriceByCode(@Param("code")String code,@Param("last_price")String last_price,@Param("change_count")String change_count);


    /**
     * 产品详情实时更新
     * @param code
     * @param last_price
     * @param high
     * @param low
     * @param open
     * @param close
     * @param volume
     * @param amount
     * @param change_count
     * @return
     */
	int updateDataByCode(@Param("code") String code,@Param("last_price") String last_price,@Param("high") String high,@Param("low") String low,@Param("open") String open,@Param("close") String close,@Param("volume") String volume,@Param("amount") String amount,@Param("BV") String BV,@Param("SV") String SV,@Param("BP") String BP,@Param("SP") String SP,@Param("change_count") String change_count);

}
